Skip to content

feat: redesign homepage as multi-language platform hub#2

Open
Krishan27 wants to merge 2 commits into
mainfrom
feat/platform-homepage
Open

feat: redesign homepage as multi-language platform hub#2
Krishan27 wants to merge 2 commits into
mainfrom
feat/platform-homepage

Conversation

@Krishan27

@Krishan27 Krishan27 commented Jun 26, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Positions flaglint.dev as a platform hub (not just JS CLI marketing page)
  • Adds JS/TypeScript (stable) and Go (coming soon) SDK language cards
  • Updates all GitHub links from flaglint/flaglint → flaglint/flaglint-js
  • Fetches live CLI version from npm registry at build time
  • Updates hero kicker to show language support

Test plan

  • npm run build passes
  • Language cards render correctly in both light and dark mode
  • Go card is visually muted/coming-soon
  • GitHub links point to flaglint-js

Summary by CodeRabbit

  • New Features

    • Added a new “Language SDKs” section with JavaScript/TypeScript support and a Go card marked as coming soon.
    • Displayed the current version dynamically on the site and in structured metadata.
  • Content Updates

    • Refreshed homepage copy to better reflect JavaScript and upcoming Go support.
    • Updated repository and footer links to point to the current project location.

Not wiring up Cloudflare Pages at this stage.

Signed-off-by: Krishan Kant Sharma <krishansharma0327@gmail.com>
Add JS/Go SDK cards, update GitHub links to flaglint-js,
fetch live CLI version from npm at build time.

Signed-off-by: Krishan Kant Sharma <krishansharma0327@gmail.com>
@coderabbitai

coderabbitai Bot commented Jun 26, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Updated the homepage to fetch the displayed version from npm, refresh structured data and repository links, revise hero text, add Language SDKs cards, and extend styles for the new section.

Changes

Homepage refresh

Layer / File(s) Summary
Version and metadata
src/pages/index.astro
The page fetches the latest npm version, falls back to 1.0.0, and updates structured-data description and repository metadata.
Hero and repository links
src/pages/index.astro
The navigation GitHub button, hero copy, final call-to-action, and footer links point to flaglint-js and use the revised messaging.
Language SDKs section
src/pages/index.astro
The page adds a Language SDKs section with JavaScript/TypeScript and Go cards, plus the CSS for the new grid and card layout.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

A rabbit hopped by, nose twitching with glee,
“New SDKs and links! Hop, hop, whee!”
I sniffed out the version, fresh from the stream,
Then nibbled some hero text, crisp as a dream.
🐇✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: redesigning the homepage into a multi-language platform hub.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/platform-homepage

Comment @coderabbitai help to get the list of available commands.

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying flaglint with  Cloudflare Pages  Cloudflare Pages

Latest commit: 226ee23
Status: ✅  Deploy successful!
Preview URL: https://bf37299d.flaglint.pages.dev
Branch Preview URL: https://feat-platform-homepage.flaglint.pages.dev

View logs

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/pages/index.astro`:
- Around line 2-9: The npm registry lookup in the index page version fetch can
hang indefinitely because the current try/catch only handles rejected requests.
Update the fetch logic around the version initialization in the Astro page to
use a bounded request with a timeout so the fallback version is reached if the
registry is slow or stalls. Use the existing fetch/version retrieval block as
the place to add the timeout handling and keep the hardcoded fallback path
intact.
- Around line 15-16: The page metadata is still using the old Node.js-only CLI
wording, so update the description fields in the index page metadata and OG tags
to match the new FlagLint hub messaging. Fix the relevant values in the index
page’s frontmatter/metadata and the `og:description` entry so search snippets
and social previews reflect the multi-language platform positioning used by the
JSON-LD and hero content.
- Around line 2-6: The page now fetches a dynamic version in the `version`
variable, but other displayed copy still hardcodes `v1.0.0`. Update the hero
terminal and any other version text in `src/pages/index.astro` to use the
fetched `version` value consistently everywhere it is rendered, so the page
shows one source of truth instead of mixed versions.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 8ad65337-dcc8-4956-8f44-4bc6ff39c32b

📥 Commits

Reviewing files that changed from the base of the PR and between afe9113 and 226ee23.

📒 Files selected for processing (2)
  • .github/workflows/deploy.yml
  • src/pages/index.astro
💤 Files with no reviewable changes (1)
  • .github/workflows/deploy.yml

Comment thread src/pages/index.astro
Comment on lines +2 to +6
let version = "1.0.0";
try {
const res = await fetch("https://registry.npmjs.org/flaglint/latest");
const data = await res.json();
version = data.version ?? "1.0.0";

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Use the fetched version everywhere it’s displayed.

You now source version dynamically, but the hero terminal still hardcodes flaglint v1.0.0 on Line 981. As soon as npm publishes a newer release, the page will show two different versions at once.

Also applies to: 1020-1022

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/pages/index.astro` around lines 2 - 6, The page now fetches a dynamic
version in the `version` variable, but other displayed copy still hardcodes
`v1.0.0`. Update the hero terminal and any other version text in
`src/pages/index.astro` to use the fetched `version` value consistently
everywhere it is rendered, so the page shows one source of truth instead of
mixed versions.

Comment thread src/pages/index.astro
Comment on lines +2 to +9
let version = "1.0.0";
try {
const res = await fetch("https://registry.npmjs.org/flaglint/latest");
const data = await res.json();
version = data.version ?? "1.0.0";
} catch {
// fallback to hardcoded
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

Add a timeout to the npm registry lookup.

The try/catch only handles failures that eventually reject. If the registry stalls, the build can sit on Line 4 indefinitely even though you already have a fallback version. Bound this fetch so deploys don’t depend on npm responsiveness.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/pages/index.astro` around lines 2 - 9, The npm registry lookup in the
index page version fetch can hang indefinitely because the current try/catch
only handles rejected requests. Update the fetch logic around the version
initialization in the Astro page to use a bounded request with a timeout so the
fallback version is reached if the registry is slow or stalls. Use the existing
fetch/version retrieval block as the place to add the timeout handling and keep
the hardcoded fallback path intact.

Comment thread src/pages/index.astro
Comment on lines 15 to +16
description:
"Free, open-source CLI that finds every direct LaunchDarkly Node.js SDK call, ranks them by migration risk, and generates safe OpenFeature rewrites.",
"Free, open-source CLI that finds every direct LaunchDarkly SDK call, ranks them by migration risk, and generates safe OpenFeature rewrites.",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Refresh the HTML/OG descriptions to match the new hub messaging.

The JSON-LD and hero now position FlagLint as a multi-language platform, but the HTML description and og:description on Lines 34-36 still describe a Node.js-only CLI. Search/snippet previews will keep advertising the old positioning.

Also applies to: 947-951

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/pages/index.astro` around lines 15 - 16, The page metadata is still using
the old Node.js-only CLI wording, so update the description fields in the index
page metadata and OG tags to match the new FlagLint hub messaging. Fix the
relevant values in the index page’s frontmatter/metadata and the
`og:description` entry so search snippets and social previews reflect the
multi-language platform positioning used by the JSON-LD and hero content.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant